Digital equipment, and computers in particular, are very sensitive to electrostatic discharges, such as occur when an improperly grounded person comes in physical contact the equipment. The electrostatic discharge that can result is capable of introducing errors and faults in such digital equipment.
In order to insure that such equipment is free from excess sensitivity to electrostatic effects, the equipment is tested prior to shipment. In these tests, the equipment is stressed as much as possible using conventional electrostatic discharge devices. These devices, which are typically controllable with respect to voltage, discharge rate and test duration nonetheless operate in wholly deterministic ways.
The main problem associated with deterministic electrostatic testing arises out of the fact that the machine under test is executing a stored test program which includes a plurality of individual diagnostic steps. In the ideal case, it is desirable to "zap" the machine during execution of each one of these steps to insure that induced hardware errors are handled correctly. To this end the diagnostic program steps include error trapping mechanisms in each of the steps to indicate the presence of a particular hardware error. However, the discharge test device and the machine itself are not set in synchronization with one another since static discharges in the field are themselves random events. Furthermore, attempts at synchronization are difficult because of different lengths of test programs and because of the varying number and kinds of program steps with which they are involved.
Currently, electrostatic discharge equipment is used to inject noise into operating data processing devices, usually in conjunction with diagnostic test routines. During these tests it is important to assure maximal diagnostic coverage in a minimal time. Maximal coverage means that a discharge occurs during each diagnostic step. However, because of the situation described above, many hours can be wasted both in computer time and in manpower if a well formulated test termination criterion is not implemented. In fact, without the introduction of randomness and multiplicity in testing, as proposed herein, it may not even be possible to insure total test program coverage.
In order to further clarify the test situation being considered herein, it can be assumed that a diagnostic test program which is repetitive in nature is running on a piece of data processing equipment under test. The test program particularly exercises the system error trapping mechanisms. The total length of run time which includes a number of iterations of the test program is referred to herein as the "experiment". In an asynchronous manner, an electrostatic discharge device produces electrostatic discharges into the system in which the sequence of instructions is executing. It is a test object to insure, with a certain level of confidence, that each portion of the repeating instruction sequence is executed simultaneously with an electrostatic discharge, at least once, in a minimal amount of time.
Such tests are required for a number of reasons. There is a significant need to test computer equipment prior to shipment for susceptibility to noise since the environments in which these machines are placed are subjected to a number of different noise sources. In particular, large scale computer installations often contain many computers together with associated input and output equipment. There are numerous non-ideal environmental situations which reside in customer installations that greatly affect the high availability of large systems. Some of these situations are customer power buses that serve as a common bus not only to one or more computers but also to other equipment as well. These buses generate noise which can enter computer systems. Additionally, miles and miles of under-the-floor cabling, oftentimes in neat long rows carry undesired cross talk noise to computer circuits. Telephone lines and teleprocessing equipment cables can also couple noise into computer systems. The equipment which is often used by customers to guarantee uninterrupted power, as well as other motors, generators and diesel engines used in operating environments, also generate a high frequency noise spectrum.
In general, noise may be radiated or conducted into a computer system. System operation in itself generates noise which can affect both the generating system and power or utility lines to which they are coupled. Indeed, the very grounding of systems can in fact have an effect on computer performance. It is thus seen that susceptibility to noise is a significant factor in the reliability, availability and serviceability of computer equipment. Accordingly, the desire for appropriate electrostatic testing is very important. Furthermore, one would like to be able to perform these tests in a minimal amount of time without sacrificing test thoroughness. This is becoming more difficult however because of the increased complexity of the systems and because of the length of the diagnostic test programs which are employed during the test phase.
The increasing complexity of such systems tends to decrease the efficiency of current electrostatic discharge testing equipment through longer testing times. Moreover, most electrostatic discharge testing systems are designed to test specific types of machines with specific characteristics (i.e. voltage operating level, system operation speed, etc). Such rigidly designed testing systems encounter difficulties when they are required to test machines which employ a range of operating voltages or system operation speeds. Often times expensive hardware changes must be performed, which in effect, pervert the test system from its original design.
Applicants are inventors of U.S. Pat. No. 4,961,157 which provides a method and apparatus for electrostatic discharge testing of machines. While U.S. Pat. No. 4,961,157 provided an important method and apparatus for performing electrostatic discharge testing, the applicants have sought to cure the mentioned disadvantages and problems of such testing through the system and method disclosed herein.